// #ifndef VUE3
import Vue from 'vue'
import App from './App'
import uvUI from '@/uni_modules/uv-ui-tools' // 引入 uv-ui-tools 插件

import {
	createPinia
} from 'pinia' // 状态管理
import {
	createPersistedState
} from 'pinia-plugin-persistedstate' // 状态持久化插件

// 配置生产提示
Vue.config.productionTip = false
App.mpType = 'app'

// Pinia 状态管理配置
const pinia = createPinia()
pinia.use(createPersistedState({
	storage: sessionStorage, // 设置存储方式
}))

// 创建 Vue 实例
const app = new Vue({
	...App
})

// 使用 uvUI 插件和 Pinia 状态管理
app.use(uvUI) // 使用 UV-UI 插件
app.use(pinia) // 使用 Pinia 状态管理

// 挂载 Vue 实例
app.$mount()
// #endif

// #ifdef VUE3
import {
	createSSRApp
} from 'vue'
import appBarVue from '@/components/appBar/appBar.vue'
import safeTopVue from '@/components/safeTop.vue'
import auditStatusVue from '@/components/auditStatus/auditStatus.vue'
import lableInput from '@/components/lableInput/lableInput.vue'
import ThemeButton from '@/components/themeButton/themeButton.vue'
import PasswordInput from '@/components/PasswordInput/PasswordInput.vue'
import App from './App.vue'

import uvUI from '@/uni_modules/uv-ui-tools' // 引入 uv-ui-tools 插件
import {
	createPinia
} from 'pinia' // 状态管理
import appMinxin from '@/common/appMixin.js' // 全局 mixin

// 创建 Vue3 实例
export function createApp() {
	const app = createSSRApp(App)

	// 注册全局组件
	app.component('AppBar', appBarVue)
	app.component('safeTopVue', safeTopVue)
	app.component('lableInput', lableInput)
	app.component('PasswordInput', PasswordInput)
	app.component('auditStatusVue', auditStatusVue)
	app.component('ThemeButton', ThemeButton)

	// 挂载全局 mixin
	app.mixin(appMinxin)

	// 使用 uvUI 插件和 Pinia 状态管理
	app.use(uvUI) // 使用 UV-UI 插件
	app.use(createPinia()) // 使用 Pinia 状态管理

	return {
		app
	}
}
// #endif